Methods, systems, and computer program products for protecting information on a user interface based on a viewability of the information

ABSTRACT

Methods, systems, and computer program products for protecting information on a user interface based on a viewability of the information are disclosed. According to one method, a viewing position of a person other than a user with respect to information on a user interface is identified. An information viewability threshold is determined based on the information on the user interface. Further, an action associated with the user interface is performed based on the identified viewing position and the determined information viewability threshold.

This application is a continuation of U.S. patent application Ser. No.11/316,424, titled “METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FORPROTECTING INFORMATION ON A USER INTERFACE BASED ON A VIEWABILITY OF THEINFORMATION” filed Dec. 22, 2005 which is commonly owned with thisapplication, the entire disclosure of which is here incorporated byreference.

TECHNICAL FIELD

The subject matter described herein relates to methods, systems, andcomputer program products for protecting information on a userinterface. More particularly, the subject matter described hereinrelates to methods, systems, and computer program products forprotecting information based on a viewability of the information.

BACKGROUND

Computers and other electronic devices typically include a userinterface having an input interface and an output interface. A keyboardis an example of an input interface for receiving information from auser. Further, computers, personal digital assistants (PDAs), mobiletelephones, and other electronic devices typically include an outputinterface, such as a display, for presenting information to a user. Theoutput interface may allow a user to perceive information that isentered via an input interface and the result of the information that isentered via the input interface.

It is often desirable to protect the privacy of information that isviewable on a user interface, such as information presented via anoutput interface or information entered via an input interface. In apublic setting, for example, an onlooker may be able to obtain sensitiveinformation displayed on the display screen of a laptop computer.Further, for example, an onlooker may be able to obtain information bywatching the keys of a keyboard as they are depressed by the user.

Some techniques have been developed for protecting the information on auser interface. For example, a computer application may require a userto enter a login name and password for authenticating the user. A loginname and password may be required before the user is granted access tosensitive information. However, this technique does not protect thesensitive information from an onlooker near the user input or outputinterface.

Another technique for protecting information on a user interfaceincludes determining whether a user of the user interface is anauthenticated user by capturing an image of the user. The captured imageof the user is compared to a stored image for determining whether theimages match. If the images match, the user is considered anauthenticated user, and the user may be permitted to view information onthe user interface. Otherwise, if the images do not match, the user isconsidered an unauthorized user, and the user may be denied from viewinginformation on the user interface. However, an onlooker may be able toview information on the user interface when a user has beenauthenticated and permitted to view information on the user interface.In this case, the onlooker may be able to “shoulder-surf” while theauthenticated user operates a device and information is shown on theuser interface.

In view of the shortcomings of existing techniques for protectinginformation on a user interface, there exists a need for improvedmethods, systems, and computer program products for protectinginformation on a user interface from persons other than an authorizeduser, such as onlookers.

SUMMARY

According to one aspect, the subject matter described herein includes amethod for protecting information on a user interface. The methodincludes identifying a viewing position of a person other than a userwith respect to information on a user interface. An informationviewability threshold is determined based on the information on the userinterface. Further, an action associated with the user interface isperformed based on the identified viewing position and the determinedinformation viewability threshold.

The subject matter described herein can be implemented as a computerprogram product comprising computer executable instructions embodied ina computer readable medium. Exemplary computer readable media suitablefor implementing the subject matter described herein include disk memorydevices, chip memory devices, application specific integrated circuits,and programmable logic devices. In addition, a computer program productthat implements the subject matter described herein may be located on asingle device or computing platform. Alternatively, the subject matterdescribed herein can be implemented on a computer program product thatis distributed across multiple devices or computing platforms.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the subject matter will now be explained withreference to the accompanying drawings, of which:

FIG. 1 is a block diagram illustrating an exemplary computer system forprotecting information on a user interface according to an embodiment ofthe subject matter described herein;

FIG. 2 is a flow chart of an exemplary process for protectinginformation on a user interface according to an embodiment of thesubject matter described herein;

FIGS. 3A and 3B are a flow chart of an exemplary process for protectinginformation on a user interface shown in FIG. 1 according to anembodiment of the subject matter described herein;

FIG. 4 is a diagram illustrating exemplary positions of a person withrespect to the user interface shown in FIG. 1 and viewability thresholdsaccording to an embodiment of the subject matter described herein;

FIG. 5A is a block diagram illustrating an exemplary keyboard beforebeing reconfigured according to an embodiment of the subject matterdescribed herein; and

FIG. 5B is a block diagram illustrating an exemplary keyboard afterbeing reconfigured according to an embodiment of the subject matterdescribed herein.

DETAILED DESCRIPTION

According to one aspect, a system for protecting information on a userinterface may be implemented as hardware, software, and/or firmwarecomponents executing on one or more components of a system having a userinterface. FIG. 1 illustrates an example of a computer system 100 forprotecting information on a user interface according to an embodiment ofthe subject matter described herein. Computer system 100 may be anysuitable system for presenting information to an operator via a userinterface, such as a personal computer, mobile phone, PDA, and the like.Referring to FIG. 1, computer system 100 may include a user interface102 having an output interface 104 and an input interface 106. Outputinterface 104 may present or display information that is viewable by oneor more persons. For example, the information may be viewable by person108. Further, output interface 104 may include a display, a printer, aspeaker, or any other suitable device with which information may bepresented or shown. Input interface 106 may be any suitable device bywhich a user inputs information. Input interface 106 is operable toreceive input information from a user. For example, input interface 106may be a keyboard, a keypad, a touch screen display, a mouse, or atrackpad. The input of information on input interface 106 may similarlybe viewable by person 108. As such, the “viewability” of information onuser interface 102 as used herein may be applied to output interface 104and/or input interface 106.

System 100 may also include an image capture device 110 operable tocapture one or more images of persons in position to view information onuser interface 102. For example, image capture device may capture one ormore images of person 108. Device 110 may be any suitable device forcapturing images, such as a still-image camera or video camera. Thecaptured images of person 108 can include a single image of person 108that indicates the position of person 108 with respect to user interface102. Further, the captured images of person 108 can include a series ofimages of person 108 over time for indicating the movement of person 108with respect to user interface 102. Captured images may be stored indevice 110 and communicated to a viewing position identifier 112.

System 100 includes means for identifying a viewing position of a personother than a user with respect to information on user interface 102. Forexample, viewing position identifier 112 may receive captured imagesfrom device 110. Identifier 112 may identify a viewing position of aperson in one or more of the captures images with respect to informationon user interface 102. Identifier 112 may also identify the movement ofperson 108 with respect to information on user interface 102 based on aseries of captured images. For example, one or more captured images canbe used to identify eye movement of the person, the eye position of theperson, and/or the facial position of the person. Further, the capturedimages can be used to identify a distance between person 108 and userinterface 102 and/or an angle of person 108 with respect to userinterface 102. Identifier 112 may communicate the identified viewingposition or positions to an information viewability function 114.

System 100 includes means for determining an information viewabilitythreshold based on the information on user interface 102. For example,information viewability function 114 may determine an informationviewability threshold based on the information on user interface 102. Inone embodiment, a viewability threshold may be determined based on thesensitivity of the information shown by user interface 102. For example,some information may require a high level of privacy, and thus theinformation may require a viewability threshold that provides additionalprotection from onlookers. In another embodiment, the viewabilitythreshold may be based on characteristics of the information shown byuser interface 102. For example, the viewability threshold may be basedon the size of information displayed by user interface 102. Informationwith a large size may be easy to read, and thus the information mayagain require another viewability threshold that provides additionalprotection from onlookers. In another embodiment, the viewabilitythreshold may be based on the type of user interface showing theinformation. For example, the viewability threshold may be based on thetype of display displaying the information. Information shown on adisplay having high resolution and wide viewability angles may againrequire a viewability threshold that provides additional protection fromonlookers.

Further, system 100 may include a means for performing an actionassociated with user interface 102 based on the identified viewingposition and the determined information viewability threshold. Forexample, function 114 may perform an action associated with userinterface 102 based on the identified viewing position and thedetermined information viewability threshold. In accordance with oneembodiment, the performed action may include alerting a user of userinterface 102 of the presence of a potential onlooker and/or a locationof the onlooker. For example, a display may display an icon forindicating the presence of a potential onlooker. In another embodiment,the performed action may include obfuscating information shown by userinterface 102 in order to make the information more difficult for apotential onlooker to view. For example, a display displaying theinformation may be darkened, blurred, or otherwise hidden from view.

FIG. 2 is a flow chart illustrating an exemplary process for protectinginformation on a user interface according to an embodiment of thesubject matter described herein. Referring to FIG. 2, block 200 includesidentifying a viewing position of a person other than a user withrespect to information on a user interface. In block 202, an informationviewability threshold is determined based on the information on the userinterface. An action associated with the user interface is performedbased on the identified viewing position and the determined informationviewability threshold (block 204). Thus, in this exemplary process, anaction associated with a user interface is performed based on a viewingposition of a person with respect to information on the user interface.The performed action may make the viewable information on the userinterface more difficult for the person to view.

FIGS. 3A and 3B are a flow chart illustrating an exemplary process forprotecting information on user interface 102 shown in FIG. 1 accordingto an embodiment of the subject matter described herein. Referring toFIG. 3A, block 300 includes identifying a person other than a user ofuser interface 102 with respect to information on user interface 102. Inone embodiment, image capture device 110 may capture images of one ormore persons. The captured images may be communicated to viewingposition identifier 112. Viewing position identifier 112 may include aperson identifier function 116 for identifying one or more persons inthe captured images. For example, person 118 may be a user of userinterface 102, and person 108 may be a person other than a user of userinterface 102 or an onlooker of information shown on user interface 102.Image capture device 110 may capture images of persons 108 and 118 andcommunicate the captured images to function 116. Based on the images,function 116 may determine the positions of persons 108 and 118 withrespect to user interface 102. Further, function 116 can compare thedetermined positions and identify the person closest to user interface102 as being a user of user interface 102 based on an assumption thatthe closest person to a user interface is the user of the userinterface. In this example, person 118 may be determined to be closer touser interface 102 than person 108. Therefore, person 118 may beidentified as the user of user interface 102, and person 108 may beidentified as a person other than the user or as a potential onlooker toinformation on user interface 102.

In another example, a user's image may be identified after a successfullogin by the user, e.g., after the user provides a user name andpassword. The user's identified image may be pre-stored and correlatedwith the login or may be an image taken by image capture device 110after login. This image can later be used in image comparisons forlocating potential onlookers, even while the user is away from userinterface 102.

Image capture device 110 may be any suitable device operable to capturean image or other suitable representation of a person by which theperson's position, identity, and/or features can be determined. Asstated above, image capture device 110 may be a camera, such as astill-image camera or a video camera. The images captured by imagecapture device 110 may be stored at image capture device 110 orcommunicated to viewing position identifier 112 for storage. In oneembodiment, image capture device 110 is a digital camera including awide angle lens. The image capture angle of the lens may be at leastequal to the angle within which the information on user interface 102 isviewable.

Based on one or more captured images, function 116 may determine aperson's position, identity, and/or features. An exemplary method forface recognition is described in U.S. Pat. No. 6,111,517 to Atick etal., issued Aug. 29, 2000 and filed Dec. 30, 1996, the disclosure ofwhich is incorporated by reference herein in its entirety. Briefly, thismethod includes searching the field of view of a camera for faces.Multiscale search algorithms may initially search for faces in lowresolution and switch to high resolution only when the low resolutionsearch indicates a head-like shape. Once a face has been detected, thehead's shape, position, size, and pose can be determined. Next, the headmay be normalized by scaling, rotating, and warping, so that the facecan be registered and mapped into a canonical size and pose. An internalrepresentation scheme can be employed to translate facial data into aunique coded characterization of the face of each individual. Next, thefacial characterization can be compared to stored facialcharacterizations to determine a match. Person identification function116 may use this method or any other suitable facial recognition methodto distinguish authorized users from onlookers.

Further, an exemplary method for determining the locations of imagefeatures, such as eye monitoring to determine the point at which the eyeis gazing, or measuring the motions of an eye using a captured image isdescribed in U.S. Pat. No. 5,231,674 to Cleveland et al., issued Jul.27, 1993 and filed May 13, 1991, the disclosure of which is incorporatedby reference herein in its entirety. Briefly, this method includes usinga camera to capture an image of an eye. Information about the eye's gazepoint and/or orientation may be extracted from the eye image based onthe location of image features such as edge coordinates between thepupil and iris of the eye and of the corner coordinates of lightreflections off the cornea of the eye. Person identifier function 116may use this method or any other suitable gaze tracking method toidentify persons who are onlookers gazing at user interface 102.

In an alternate embodiment, function 116 may determine that a person isan authorized user based on the distance the user is from interface 102and/or the position of the person in front of interface 102. Forexample, function 116 may determine whether person 108 is within apredetermined distance from interface 102 and whether person 108 ispositioned in front of interface 102. If function 116 determines thatperson 108 is positioned within the predetermined distance andpositioned in or about directly in front of interface 102, the imageassociated with person 108 may be identified as corresponding to anauthorized user. For example, a person's image that is determined to bewithin three feet of a user interface may be identified as correspondingto an authorized user. Images associated with persons other than theidentified user may be identified as potential onlookers. Suchauthorized status can be revoked when the authorized user is no longerpositioned within the predetermined distance and positioned in or aboutdirectly in front of interface 102.

In one embodiment, function 116 may detect the position of the eyes ofpersons in captured images. Based on the determined position of the eyeswith respect to interface 102, function 116 may determine whether aperson is a user or a potential onlooker. For example, if the eyes aredetermined to be within a predetermined distance and/or positioned infront of interface 102, the image of the person corresponding with theeyes may be identified as a user. Images associated with other eyes maybe identified as eyes corresponding with persons other than a user or asa potential onlooker.

In another embodiment, function 116 may determine that a person is anauthorized user based on a person's face in a captured image. Forexample, function 116 may be able to detect faces in captured images anddiscriminate between different faces. System 100 may include a personidentification database 120 operable to store data for identifyingfacial images of persons. The stored data may identify a facial image ascorresponding to an authorized user of interface 102. Further, thestored data may identify a facial image as being a person unauthorizedto view information shown by interface 102. A facial image that isdeemed unauthorized may be considered as a potential onlooker of theinformation shown on interface 102. Further, a facial image that isunidentifiable may be considered as a potential onlooker of theinformation shown on user interface 102.

In one embodiment, viewing position identifier 112 may be operable todetect a person's position and track the person's movement. For example,identifier 112 may detect the position of a person's eyes and themovement of the detected eyes. One or both eyes of the person may bedetected. One type of eye movement that may be used to identify a personas an onlooker is scanning. Scanning may be detected using the methoddescribed in the above-referenced patent to Cleveland et al. In anotherexample, identifier 112 may detect the position of a person's face andthe movement of the detected face. A person may be identified as anonlooker if a person's face turns towards a display and continues toface the display for a predetermined time period. In contrast, a personwho turns briefly towards a display and then turns away may not beidentified as an onlooker.

In block 302, function 116 may determine whether the identified personis authorized to view the information on user interface 102. Database120 may include entries that indicate whether an identified person isauthorized to view information shown on user interface 102.

If it is determined that the identified person is authorized to view theinformation on user interface 102, system 100 may refrain fromperforming an action associated with interface 102 with respect to theidentified person (block 304 shown in FIG. 3B). For example, system 100may refrain from altering information shown on interface 102 or alertinga user to the presence of the identified person. If it is determinedthat the identified person is not authorized to view the information onuser interface 102, the process may proceed to block 306.

In block 306, identifier 112 may identify a viewing position of a personother than a user with respect to information on user interface 102. Forexample, identifier 112 may determine the distance of a person otherthan the user from user interface 102. Further, for example, identifier112 may determine the angle of a person's position with respect to asurface of interface 102 (e.g., a screen of a display) on which theviewable information is shown. In one embodiment, the person's positioncan be the position of the person's eyes as detected by identifier 112.Further, for example, the viewing position of a person may be theposition of a person's face with respect to user interface 102.

In one embodiment, a plurality of viewing positions of a person otherthan a user may be identified. For example, a series of captured imagesof a person may be acquired for identifying movement of a person withrespect to user interface 102. A person's movement may indicate whetherthe person is staring at the user interface or merely glancing at theuser interface. For example, if a person's eyes are directed to a userinterface greater than 10 seconds, it may be determined that the personis an onlooker to information on the user interface. If a person's eyesare directed to the user interface for less than 1 second, it may bedetermined that the person is not an onlooker to information on the userinterface.

In block 308, an information viewability threshold database 122 may besearched for an entry based on the information on user interface 102.Database 122 may store entries including information viewabilitythresholds corresponding to the information on user interface 102. Table1 below shows exemplary entries that may be stored in an informationviewability threshold database. It should be pointed out that databases122 and 124 are logical databases that may be realized using any knowninformation management and processing techniques, including, forexample, algorithms, lookup tables, and the like.

TABLE 1 Exemplary Entries in an Information Viewability ThresholdDatabase Information Information User Interface Type CharacteristicViewability Threshold 17″ LCD screen display Font size 12 Between 45°Left and 45° Right < 10′; and 46°-90° Left and Right < 5′ 17″ LCD screendisplay Font size 16 Between 45° Left and 45° Right < 20′; and 46°-90°Left and Right < 10′ 17″ LCD screen display Image < 680 × 460 Between45° Left and pixels 45° Right < 10′; and 46°-90° Left and Right < 5′ 17″LCD screen display Image > 680 × 460 Between 45° Left and pixels 45°Right < 10′; and 46°-90° Left and Right < 5′ PDA with ¼ VGA Font size 8Between 45° Left and screen display 45° Right < 4′; and 46°-90° Left andRight < 2′ PDA with ¼ VGA Font size 10 Between 45° Left and screendisplay 45° Right < 8′; and 46°-90° Left and Right < 4′

In Table 1, an information viewability threshold is determined based ona user interface type and a characteristic of the information shown byuser interface 102. For example, if user interface 102 includes a 17″LCD screen display (e.g., output interface 104 is a 17″ LCD screendisplay) displaying text information in font size 12, the viewabilitythreshold is a distance of less than 10 feet between 45 degrees left and45 degrees right and a distance of less than 5 feet for 46-90 degreesleft and right. Further, for example, if user interface 102 includes aPDA with ¼ VGA screen display (e.g., output interface 104 is a ¼ VGAscreen display) displaying text information in font size 8, theviewability threshold is a distance of less than 4 feet between 45degrees left and 45 degrees right, and a distance of less than 2 feetfor 46-90 degrees left and right.

In one embodiment, the information viewability threshold may be based onthe eye position of a person, the eye movement of a person, and/or thefacial orientation of a person with respect to a user interface. Forexample, an information viewability threshold may be met when a person'seyes are pointing towards user interface 102. In another example, aninformation viewability threshold may be met when a person's eyes arepointing towards user interface 102 for a predetermined period of time(e.g., greater than 10 seconds). In yet another example, an informationviewability threshold may be met when a person's eyes are moving in apredetermined pattern with respect to user interface 102 (e.g., fromleft to right across a display screen). A threshold may be met when aperson's eyes are periodically pointing towards user interface 102. Inanother example, an information viewability threshold may be met when aperson's face is oriented towards user interface for a predeterminedperiod of time. In yet another example, an information viewabilitythreshold may be met when a person's face is periodically orientedtowards user interface 102. In each case, the respective determinationmay be made using gaze detection and/or image analysis performed on acaptured image and may be performed using image capture device 110 inconjunction with viewing position identifier 112.

In another embodiment, the information viewability threshold may bebased on the type of information shown via a user interface or anapplication or file presenting the information. For example, informationviewability function 114 may determine the privacy sensitivity ofinformation shown by user interface 102. If the information is highlysensitive, the information viewability threshold may be triggered morereadily for a person other than the user of the user interface. Highlysensitive data may be data determined to be highly confidential. Theprivacy sensitivity of information may be calculated based on a varietyof criteria. For example, a user may designate data as being sensitiveby selecting a sensitivity level associated with the information. In oneexample, a user may designate a sensitivity level for an application(e.g., the MICROSOFT WORD® word processing application, produced by theMicrosoft Corporation of Redmond, Wash.) presenting the information. Ifa sensitivity level has not been designated for information, theinformation may inherit the sensitivity level of an applicationpresenting the information. For example, a word processing applicationmay be associated with a sensitivity level of “medium”. A user may wantto open a particular document in the word processing application with asensitivity level of “high”. In other examples, the display of a gamemay be associated with a low privacy sensitivity level while a businessdocument may be associated with a high privacy sensitivity level. Inaddition to content sensitivity or confidentiality, or alternatively,content TYPE information such as file formats (e.g., .jpg, .xls, etc.)may be used to determine sensitivity level.

The privacy sensitivity level may be associated with the information onuser interface 102, as discussed above.

In another example, information associated with a password entry may beassociated with a particular privacy sensitivity level. For example,entry of a login name and a password may be associated with a privacysensitivity level of “high.” In another example, information protectedby the login and password may be associated with a particular privacysensitivity level.

In another embodiment, the information viewability threshold may bedetermined based on a combination of factors including a friendlinessfactor associated with an onlooker, a sensitivity level, and/or abehavior of the person. A friendliness factor may be associated with aperson identified by person identifier function 116. For example, afamily member or friend may be associated with a high friendlinessfactor. A person with a low friendliness factor may be an unidentifiedperson or an acquaintance that has been identified and associated with alow friendliness factor.

Table 2 below shows exemplary entries that may be stored in aninformation viewability threshold database that incorporates afriendliness factor, a sensitivity level, and a behavior, according toanother embodiment. Information from Table 1 may also be incorporatedinto Table 2, or vice versa. In addition, Tables 1 and 2 may be combinedinto a single table.

TABLE 2 Exemplary Entries in an Information Viewability ThresholdDatabase Total Information Sensitivity Behavior of Risk ViewabilityScenario Friendliness Factor Level Person Level Threshold Person usinguser Face identified of Low Low Threat (the Low Unlimited Viewinginterface in a someone having a (Using the user person glances at homeoffice, and friendliness factor interface to the user interface a spousewalks in of 10 (i.e., a high play a game) infrequently) friendlinessfactor) Person using user Face identified of High High Threat (a HighBetween 45° Left interface on a full someone having a (Using the userperson looks at and 45° Right <20′; plane in economy friendliness factorinterface to the user interface and 46°-90° class of 1 (i.e., a lowcreate a for a long Left and Right <10′ friendliness factor) businessplan) duration) Person using user Face identified of High Low Threat(the Medium Between 45° Left interface on a full someone having a (Usingthe user person glances at and 45° Right <10′; plane in economyfriendliness factor interface to the user interface and 46°-90° class of5 (i.e., a medium create a infrequently) Left and Right <5′ friendlinessfactor) business plan

Using Table 2, an information viewability threshold may be determinedbased on a friendliness factor associated with an identified person andthe type of information on the user interface. For example, when aperson's face is identified as having a high friendliness factor of 10,the sensitivity level is low, and the behavior of a person is at a lowthreat level, the total risk level is low and the viewability thresholdmay allow for unlimited viewing; in effect not carrying out any actionin response to detecting the onlooker. In another example, when aperson's face is identified as having a low friendliness factor of 1,the behavior of a person is at a high threat level, and the sensitivitylevel is high, then the total risk level is high and the viewabilitythreshold may be set at less than 20′ between 45° left and 45° right andless than 10′ between 46°-90° left and right. In yet another example,when a person's face is identified as having a medium friendlinessfactor of 5, the behavior of a person is at a low threat level, and thesensitivity level is high, then the total risk level is medium and theviewability threshold may be set at less than 10′ between 45° left and45° right and less than 5′ between 46°-90° left and right. Othercombinations and corresponding viewability thresholds may also beutilized.

In block 310, function 114 determines whether an entry associated withthe information on user interface 102 is found in database 122. If anentry is not found in database 122, a default information viewabilitythreshold may be provided for the viewable information (block 312) andthe process may proceed to block 314 (shown in FIG. 3B). Otherwise, ifan entry is found in database 122, the process may proceed to block 314.

Referring to FIG. 3B, in block 314, an information viewability actiondatabase 124 may be searched for an entry based on the informationviewability threshold and the identified viewing position of the personother than a user. Database 124 may store entries including actionscorresponding to the information viewability threshold and theidentified viewing position of a person other than the user. Table 3below shows exemplary entries that may be stored in an informationviewability action database. It should be understood that databases 122and 124 (and thus Tables 1, 2, and/or 3) may be combined into a commondatabase according to one possible implementation.

TABLE 3 Exemplary Entries in an Information Viewability Action DatabaseIdentified Viewing Information Position Viewability Threshold Action 8°Left and 7 feet Between 45° Left and Reduce font size by 4 45° Right <10′; and points 46°-90° Left and Right < 5′ 80° Left and 3 feet Between45° Left and Reduce font size by 1 45° Right < 10′; and point 46°-90°Left and Right < 5′ 5° Left and 12 feet Between 45° Left and None 45°Right < 10′; and 46°-90° Left and Right < 5′ 82° Right and 6 feetBetween 45° Left and None 45° Right < 10′; and 46°-90° Left and Right <5′

In Table 3, an action is determined based on an identified viewingposition and a viewability position threshold. For example, if theidentified viewing position is 8° to the left of the front of a userinterface and 7 feet from the user interface, the font size of textdisplayed on the user interface is reduced 4 points by function 114. Inanother example, if the identified viewing position is 80° to the leftof the front of a user interface and 3 feet from the user interface, thefont size of text displayed on the user interface is reduced 1 point byfunction 114. In another example, if the identified viewing position is82° to the right of the front of a user interface and 6 feet from theuser interface, no action is taken by function 114.

FIG. 4 illustrates exemplary positions of a person with respect to userinterface 102 of FIG. 1 and viewability thresholds according to oneembodiment of the subject matter described herein. The viewabilitythresholds correspond to the examples provided in Table 2 above.Referring to FIG. 4, the shaded areas represent threshold areas. If aperson other than a user of interface 102 is identified as beingpositioned within one of the thresholds, an action may be taken bysystem 100. For example, a person at position 400 is within thethreshold defined by being between 45° left and 45° right of the frontof user interface 102 and being within 10 feet of user interface 102. Inanother example, a person at position 402 is within the thresholddefined by being between 46°-90° left of the front of user interface 102and being within 5 feet of user interface 102. In another example, aperson at position 404 or position 406 is outside of the definedthresholds. In this example, no action is taken by function 114 when aperson is positioned outside of the thresholds.

In block 316, function 114 determines whether an entry associated withthe determined information viewability threshold and the identifiedviewing position of the person other than the user is found in database124. If an entry is not found in database 124, a default action or noaction may be provided (block 318). A default of no action means thatsystem 100 refrains from performing an action to protect information oninterface 102 from the identified person. If an entry is found indatabase 124, the process proceeds to block 320.

In block 320, function 114 may determine whether to perform an action ornot to protect information on interface 102 from the identified person.If an entry is found in database 124 and the entry indicates to performno action, system 100 refrains from performing an action to protectinformation on interface 102 from the identified person (block 304). Ifa default action is provided and the default indicates to perform noaction, system 100 refrains from performing an action (block 304).Further, if an entry is found in database 124 and the entry indicates toperform an action, function 114 performs the action indicated by theentry (block 322). If a default action is provided and the defaultindicates to perform an action, function 114 performs the actionindicated by the entry (block 322). The action may include obfuscatinginformation shown by user interface 102 or alerting a user about theidentified person.

In one embodiment, the performance of an action in block 322 may includeobfuscating or reformatting information shown on user interface 102 suchthat the information is more difficult for a person to perceive. Forexample, a display screen may be blurred in order to make textinformation more difficult to perceive. In yet another example, adisplay screen may be darkened. In another example, a display screen maybe turned off in order to prevent an onlooker from perceivinginformation. In yet another example, colors on a display screen may beinversed. In another example, a zoom level of the information, be ittext or images, may be decreased to prevent an onlooker from perceivinginformation.

In another embodiment, the performance of an action in block 322 mayinclude reducing the size of text information on a display screen inorder to make text information more difficult for a potential onlookerto perceive. The reduction of text size may be based on the position ofa potential onlooker and/or a position of a user of interface 102. Thetext size may be reduced such that the user of interface 102 canperceive the information, and the potential onlooker cannot perceive theinformation.

In another embodiment, the performance of an action in block 322 mayinclude reconfiguring input interface 106 such that the informationentered into the interface is more secure. For example, with regard to akeyboard or a keypad, the orientation, character set, and displayproperties of the keys or buttons of the keyboard or keypad may bereconfigured. In one embodiment, reconfiguration includes changing thelanguage input when one or more keys are depressed. In anotherembodiment, reconfiguration may include character or symbol replacement.An end user or application receiving the input data may identify thereplacement. In yet another embodiment, an operator may define thereconfiguration of one or more keys. In another embodiment,reconfiguration may include not displaying characters on a display whendata is input. In yet another embodiment, the keys displayed on inputinterface 106 may change when a determined privacy level is high. Forexample, the keys displayed on the keypad of a PDA may change such thatthe data actually entered when a key is depressed is different than thesymbol for the key.

FIGS. 5A and 5B illustrate an example of a keyboard 500 beforereconfiguration and after reconfiguration, respectively, according to anembodiment of the subject matter described herein. In this example,keyboard 500 is a “QWERTY” keyboard. FIG. 5A shows the arrangement ofthe keys before reconfiguration and as the keys are actually labeled.For example, before reconfiguration, when the key labeled “Q” isdepressed, the letter “Q” will be entered. FIG. 5B shows the keys ofkeyboard 500 after reconfiguration. The labeling of the keys afterreconfiguration remains the same as before reconfiguration. The mappingof the keys changes after reconfiguration. In this example, when the keylabeled “Q” is depressed after reconfiguration, the letter “P” will beentered.

Referring again to FIG. 3B, in yet another embodiment, the performanceof an action in block 322 may include alerting a user of user interface102 to the presence of a potential onlooker. In one example, an alertmay include blinking a light emitting diode (LED) or other suitablelight emitter on system 100 to indicate to the user of the presence of apotential onlooker. In another example, an alert may include sounding analarm.

In yet another example, an alert may include indicating the position ofa potential onlooker to a user of user interface 102. For example,output interface 104 may display text indicating a potential onlooker,such as “Potential onlooker located 4 feet behind you, and 45 degrees toyour left”. In another example, output interface 104 may display animage indicating the potential onlooker. In the displayed image, theonlooker can be indicated by a flag, circle, or otherwise differentiatedin the image.

Once alerted to a potential onlooker, the user may act to prevent thepotential onlooker from perceiving the information. For example, theuser may stop entering information via input interface 106. In anotherexample, the user may stop information from being displayed on outputinterface 104. In yet another example, the user may reposition userinterface 102 such that the potential onlooker cannot perceive theinformation.

In one embodiment, a user may specify to system 100 that the system isoperating in a secure environment. If it is specified that system 100 isin a secure environment, system 100 may refrain from performing anaction (such as in block 304 of FIG. 3B). When system 100 is moved to aless secure environment, the user may specify the environment such thatthe performance of actions is enabled.

It will be understood that various details of the subject matterdescribed herein may be changed without departing from the scope of thesubject matter described herein. Furthermore, the foregoing descriptionis for the purpose of illustration only, and not for the purpose oflimitation.

What is claimed is:
 1. A method for protecting information on a userinterface of a device, the method comprising: identifying, by thedevice, a viewing position of a person other than a user with respect toinformation on the user interface of the device; determining, by thedevice, an information viewability threshold for the person based on theinformation cm the user interface, wherein the information viewabilitythreshold is variable based on at least one of a viewability of theinformation as presented by the user interface or a characteristic ofthe person, and wherein determining the information viewabilitythreshold for the person includes determining sensitivity of theinformation on the user interface and adjusting the viewabilitythreshold based on the sensitivity of the information; and performing,by the device, an action associated with the user interface based on theidentified viewing position and a relationship of the identified viewingposition to the determined information viewability threshold.
 2. Themethod of claim 1 wherein performing the action associated with the userinterface includes altering at least one of a font size or a zoom levelof the information.
 3. The method of claim 2 wherein adjusting theviewability threshold includes adjusting the viewability threshold basedon the at least one of the font size or the zoom level of theinformation.
 4. The method of claim 1 wherein performing an actionassociated with the user interface includes displaying an icon forindicating the presence of the person.
 5. The method of claim 1 whereinperforming an action associated with the user interface includes atleast one of darkening or blurring a display of the information.
 6. Themethod of claim 1 further comprising: determining an identity of theperson; and determining whether the person is authorized to view theinformation on the user interface, wherein determining the informationviewability threshold includes determining the information viewabilitythreshold based on whether the person is authorized to view theinformation on the user interface.
 7. The method of claim 6 whereindetermining identity of the person includes: capturing an image of theperson; and comparing the image of the person to mages stored in adatabase.
 8. The method of claim 7 wherein comparing the image of theperson to images stored in a database includes detecting the face of theperson in the image and comparing the face of the person to facialimages stored in the database.
 9. The method of claim 1 whereinidentifying a viewing position the person includes: determining amovement of the person; and determining based on the movement of theperson whether the person is staring at the user interface or glancingat the user interface.
 10. The method of claim 1 wherein thecharacteristic of the person includes at least one of an eye position ofthe person, an eye movement of the person, or a facial orientation ofthe person.
 11. The method of claim 1 wherein the characteristic of theperson includes at least one of a friendliness factor of the person or abehavior of the person.
 12. A system for protecting information on auser interface of a device, the system comprising system componentsincluding: a viewing position identifier component configured toidentify a viewing position of a person other than a user with respectto information on the user interface of the device; and an informationviewability function component configured to determine an informationviewability threshold for the person based on the information on theuser interface, wherein the information viewability is variable based onat least one of a viewability of the information as presented by theuser interface or a characteristic of the person, wherein theinformation viewability function component is configured to perform anaction associated with the user interface based on the identifiedviewing position and a relationship of the identified viewing positionto the determined information viewability threshold, and wherein theinformation viewability function component is configured to determinesensitivity of the information on the user interface and to adjust theviewability threshold based on the sensitivity of the information aspart of determining the information viewability threshold for theperson, wherein at least one of the system components includes at leastone electronic hardware component.
 13. The system of claim 12 whereinthe information viewability function is further configured to alter atleast one of a font size or a zoom level of the information as part ofperforming the action associated with the user interface.
 14. The systemof claim 13 wherein the information viewability function is furtherconfigured to adjust the viewability threshold based on the at least oneof the font size or the zoom level of the information.
 15. The system ofclaim 12 wherein the information viewability function component isfurther configured to display an icon for indicating the presence of theperson.
 16. The system of claim 12 wherein the user interface is adisplay operable to display the information, and wherein the informationviewability function component is further configured to control thedisplay for blurring or darkening the information shown on the display.17. The system of claim 12 further comprising a person identifiercomponent configured to determine an identity of the person and todetermine whether the person is authorized to view the information onthe user interface, and wherein the information viewability functioncomponent is further configured to determine the information viewabilitythreshold based on whether the person is authorized to view theinformation on the user interface.
 18. The system of claim 17 furthercomprising an image capture device configured to capture an image of theperson other than the user, and wherein the person identifier componentis configured to compare the image of the person other than the user toimages stored in a database.
 19. The system of claim 18 wherein theperson identifier component is configured to compare the image of theperson other than the user by performing operations including detectingthe face of the person in the image and comparing the face of the personto facial images.
 20. The system of claim 12 wherein the viewingposition identifier component is further configured to determine amovement of the person and determine based on the movement of the personwhether the person is staring at the user interface or glancing at theuser interface.
 21. The system of claim 12 wherein the characteristic ofthe person includes at least one of an eye position of the person, aneye movement of the person, or a facial orientation of the person. 22.The system of claim 12 wherein the characteristic of the person includesat least one of a friendliness factor of the person or a behavior of theperson.
 23. A system for protecting information on a user interface thesystem comprising components including: means for identifying a viewingposition of a person other than a user with respect to information onthe user interface; means for determining an information viewabilitythreshold for the person based on the information on the user interface,wherein the information viewability threshold is variable based on atleast one of a viewability of the information as presented by the userinterface or a characteristic of the person, and wherein the means fordetermining the information viewability threshold for the person isconfigured to determine sensitivity of the information on the userinterface and to adjust the viewability threshold based on thesensitivity of the information; and means for performing an actionassociated with the user interface based on the identified viewingposition and a relationship of the identified computing system and thedetermined information viewability threshold, wherein at least one ofthe means includes at least one electronic hardware component.
 24. Anon-transitory computer readable medium containing executableinstructions that, if executed, cause the implementation of operationscomprising: identifying a viewing position of a person other than a userwith respect to information on a user interface; determining aninformation viewability threshold for the person based on theinformation on the user interface, wherein the information viewabilitythreshold is variable based on at least one of a viewability of theinformation as presented by the user interface or a characteristic ofthe person, and wherein determining the information viewabilitythreshold for the person includes determining sensitivity of theinformation on the user interface and adjusting the viewabilitythreshold based on the sensitivity of the information; and performing anaction associated with the use interface based on the identified viewingposition and a relationship of the identified viewing position to thedetermined information viewability threshold.
 25. The medium of claim24, wherein performing the action associated with the user interfaceincludes altering at least one of font size or a zoom level of theinformation.
 26. The medium of claim 25, wherein adjusting theviewability threshold includes adjusting the viewability threshold basedon the at least one of the font size or the zoom level of theinformation.
 27. The medium of claim 24, wherein performing an actionassociated with the user interface includes displaying an icon forindicating the presence of the person.
 28. The medium of claim 24,wherein performing an action associated with the user interface includesat least one of darkening or blurring a display of the information. 29.The medium of claim 24, wherein the operations further comprise:determining an identity of the person; and determining whether theperson is authorized to view the information on the user interface,wherein determining the information viewability threshold includesdetermining the information viewability threshold based on whether theperson is authorized to view the information on the user interface. 30.The medium of claim 29, wherein determining an identity of the personincludes: capturing an image of the person; and comparing the image ofthe person to images stored in a database.
 31. The medium of claim 30,wherein comparing the image of the person to images stored in a databaseincludes detecting the face of the person in the image and comparing theface of the person to facial images stored in the database.
 32. Themedium of claim 24, wherein identifying a viewing position of the personincludes: determining a movement of the person; and determining based onthe movement of the person whether the person is staring at the userinterface or glancing at the user interface.
 33. The medium of claim 24,wherein the characteristic of the person includes at least one of an eyeposition of the person, an eye movement of the person, or a facialorientation of the person.
 34. The medium of claim 24, wherein thecharacteristic of the person includes at least one of a friendlinessfactor of the person or a behavior of the person.
 35. The system ofclaim 12, further comprising an image capture device coupled to theviewing position identifier component.